I. Field of the Invention
The described invention relates generally to the field of integrated circuits. More particularly, the described invention relates to a method and apparatus for providing permanent read-only memory storage in an integrated circuit that can be updated via the modification of any one of a set of substance layers used to fabricate the integrated circuit.
II. Description of the Related Art
Integrated circuits often incorporate the use of read-only memory (ROM) for storing information used during the operation and testing of the integrated circuit. This makes the information readily available when such operation and testing take place. Examples of the type of information commonly stored in this manner include device revision numbers that indicate the design revision used during fabrication of the integrated circuit and signature codes that are the results produced when a standard testing operation is performed on a properly operating sample of the integrated circuit. After receiving the information stored in ROM other systems interacting with the integrated circuit can respond in various predetermined ways that will increase the likelihood of proper testing of the integrated circuit and of proper operation of a system in which the integrated circuit is incorporated.
The usual method for incorporating ROM into an integrated circuit is to "hard-wire" a set of nodes within the integrated circuit to power and ground via one of the conductive substance layers used to manufacture the integrated circuit. Hard-wiring is preferred over other non-volatile methods of storage because it requires minimal circuit area. Any one of the conductive substance layers used to manufacture the integrated circuit can be used to perform this hard-wiring including any of the metal layers, usually labeled metal one, metal two, etc., as well as the poly-implant layer, often called the "poly" layer. When power is applied to the integrated circuit a binary number is generated on the set of nodes through the hard-wired connections. This binary number is then applied to output circuitry within the integrated circuit such that it may be received by other circuits and systems located externally.
The use of a metal or other conductive substance layer to hard-wire a binary number as described above, however, can cause problems when changes are required during the design and development of the integrated circuit. This is because a design revision often requires revision of the information stored within ROM as well, and revising ROM may make it necessary to modify an additional substance layer that would not otherwise require modification when the design revision is performed. For example, if the design revision only requires modification of a metal three layer, but the ROM was generated by hard-wiring with the metal one layer, the overall revision would require modification of both the metal one layer and metal three layer, as opposed to just the metal three layer.
Modifying an additional substance layer within the integrated circuit increases the cost of a design revision because a photo-lithographic mask ("mask") must be generated for each modified substance layer and mask generation is an expensive process. Additionally, once a particular mask has been determined defect free it is undesirable and risky to replace that mask. Although the process of updating the revision numbers and other information permanently stored within ROM may be foregone to avoid this increase in cost and risk, the stored information will then become less accurate and provide less utility, which in turn will decrease the reliability and testability of the integrated circuit. An improved method of permanently storing information within an integrated circuit would allow modification of that information during the course of a design revision to be performed without requiring modification of substance layers not already being altered. Additionally, since the number of design revisions or updates an integrated circuit will go through is indeterminable, this improved method should allow multiple updates to be performed in series. Thus, it is highly desirable to provide a ROM that can be updated an infinite number of times via modification of any one of a set of substance layers used to fabricate an integrated circuit.